import { login } from '@/api/user' //因为user是 export function login 所以必须要用大括号括起来，不用大括号就是指导出对象，而不是方法
// const { resolve } = require("core-js/fn/promise")

const state = {
    name: '',
}
const actions = {
    //这里应该用commit，但是因为还没有使用其他方法，又不能不传第一个参数，所以只能这样先用
    login({ state }, userInfo) { //参数解构
        // login(userInfo) { //参数解构
        // const { username, password } = userInfo
        return new Promise((resolve, reject) => {
            // login({ username: username, password: password }).then(response => {
            login(userInfo).then(response => {
                if (response.code === 0) {
                    state.name = "1"
                    resolve()//感觉像.net core中间件的next方法
                } else {
                    reject(response.message) //后一个环节的方法用.catch来捕获reject
                }
            }).catch(error => {
                reject(error)
            })

        })
    }
}

export default
    {
        namespaced: true, // 启用命名空间，默认是不启用的，这里启用了命名空间dispatch的时候才能够匹配到 user/login
        state,
        actions
    }